<?php
/**
 * Klass för presentation av loginsida samt hantering av indata från formulär.
 */
class LoginView{
	static $getUsernameKey = 'username';
	static $getPasswordKey = 'password';
	static $getLoginKey = 'login';
	static $getLogoutKey = 'logout';
	static $getRememberKey = 'remember';
	//Kontrollerar så att variablen $_GET['username'] inte är tom och returnerar denna
	//annars returneras NULL
	public function GetUserName(){
		if(!empty($_GET[self::$getUsernameKey])){
			return $_GET[self::$getUsernameKey];
		}
		return NULL;
	}
	//Kontrollerar så att variablen $_GET['password'] inte är tom och returnerar denna
	//annars returneras NULL
	public function GetPassword(){
		if(!empty($_GET[self::$getPasswordKey])){
			return $_GET[self::$getPasswordKey];
		}
		return NULL;
	}
	//Returnerar true eller false baserat på om $_GET['login'] är satt
	public function TriedToLogIn(){
		if(isset($_GET[self::$getLoginKey])){
			return true;
		}
		return false;
	}
	//Returnerar true eller false baserat på om $_GET['logout'] är satt
	public function TriedToLogOut(){
		if(isset($_GET[self::$getLogoutKey])){
			return true;
		}
		return false;
	}
	//Returnerar true eller false baserat på om $_GET['remember'] är satt
	public function IsRemember(){
		if(isset($_GET[self::$getRememberKey])){
			return true;
		}
		return false;		
	}
	//Sätter en cookie för användaren som håller den inloggad i en timme framåt
	public function RememberMe($username){
		$oneHour = 3600;
		setcookie(self::$getUsernameKey, $username, time()+$oneHour);
	}
	public function RemoveRemember(){
		$oneHour = 3600;
		setcookie(self::$getUsernameKey, "", time()-$oneHour);
	}
	public function DoLoginBoxFlash($message) {
		return (!empty($message)) ? "<div>$message</div>" : NULL;
	}
	//Returnerar XHTML kod för loginformulär
	public function DoLoginBox($message = "", $userIsLoggedin = false){
		if(!$userIsLoggedin){
			return "<form method='GET' action='".$_SERVER['PHP_SELF']."'>
							<div>
								<h1>Login</h1>
								".$this->DoLoginBoxFlash($message)."
								<div> 
									Username: <input type='text' name='".self::$getUsernameKey."' value='' /> 
								</div> 
								<div> 
									Password: <input type='password' name='".self::$getPasswordKey."' value='' /> 
								</div> 
								<div>
									Remember me: <input type='checkbox' name='".self::$getRememberKey."' value='remember' />
								</div>
								<div>
									<input type='submit' name='".self::$getLoginKey."' value='Login' />
								</div>
							</div>
						</form>";			
		}
		else{
			return "<form method='GET' action='".$_SERVER['PHP_SELF']."'>
							".$this->DoLoginBoxFlash($message)."
							<div>
								<input type='submit' name='".self::$getLogoutKey."' value='Sign out' />
							</div>
						</form>";			
		}
	}

}
?>